<!DOCTYPE html>
<html lang="en">
<head>
  <meta charset="UTF-8">
  <meta http-equiv="X-UA-Compatible" content="IE=edge">
  <meta name="viewport" content="width=device-width, initial-scale=1.0">
  <title>Document</title>
</head>
<body>
  
</body>
</html>

<script>
  const arr = [19, 18, 99, 121, 21, 1, 3];

  // reduce 是 数组的迭代函数  -  数组的实例方法
    // 有返回值； 不会改变变量本身
    // accumulate 第一次回调函数，accumulate 若有 初始值，则为初始值；若无初始值 则 为 arr[0]
      // accumulate 大于等于2次回调，accumulate 为 上一次 回调函数的返回值
  const result = arr.reduce((accumulate, current, currentIndex, array) => {

  }, /* 第二个是，可选参  表示 初始值 */ );


// 案例： 用 reduce 求出 最大值 max
const max1 = arr.reduce((accu, current) => {
  if (accu > current) {
    return accu;
  } else {
    return current;
  }
});

const max2 = arr.reduce((accu, current) => accu > current ? accu : current);

// const max2 = arr.reduce(function (accu, current){
//   return accu > current ? accu : current
// });

console.log('max2', max2);
</script>